<?php 
use GRH\Helper\DateTime;
?>
<?php
$title = 'Périodes';
$this->headTitle($title);
?>
<h1><?php echo $title; ?></h1>
<div id="tabs">
    <ul>
        <li><a href="#list">Liste</a></li>
        <li><a href="#create">Création de Période</a></li>
    </ul>
    <div id="list">
        <table>
        <thead>
            <tr>
                <td>ID</td>
                <td>Nom</td>
                <td>Début</td>
                <td>Fin</td>
                <td>&nbsp;</td>
            </tr>
        </thead>
        <tbody>
            <?php foreach($this->periode_list as $periode): ?>
            <tr>
                <td><?php echo $periode->periode_id; ?></td>
                <td><?php echo $periode->libelle; ?></td>
                <td><?php echo DateTime::date_fr(strtotime($periode->debut_periode)); ?></td>
                <td><?php echo DateTime::date_fr(strtotime($periode->fin_periode)); ?></td>
            </tr>
            <?php endforeach; ?>
        </tbody>
        <tfoot>
            <tr>
                <td colspan="10">Nombre de Période : <?php echo $this->max_id ?></td>
            </tr>
        </tfoot>
    </table>
    </div>
    <div id="create">
        <?php
        $form = $this->newPeriode;
        $form->setAttribute('action', "#");
        $form->setAttribute('class', 'form');
        $form->prepare();
        echo $this->form()->openTag($form);?>
        <?php echo $this->formHidden($form->get('periode_id')); ?>
        <div class="form-row">
            <div class="form-element">
                <span class="form-label">Libellé</span>
                <?php echo $this->formText($form->get('libelle')); ?>
            </div>
            <span class="form-desc">Le nom de la période</span>
        </div>
        <div class="form-row">
            <div class="form-element">
                <span class="form-label">Date de Début</span>
                <?php echo $this->formSelect($form->get('debut_periode')); ?>
            </div>
            <span class="form-desc">Le début de la période correspond toujours au lendemain de la fin de la période </span>
        </div>
        <div class="form-row">
            <div class="form-element">
                <span class="form-label">Date de Fin</span>
                <?php echo $this->formSelect($form->get('fin_periode')); ?>
            </div>
            <span class="form-desc">La fin de la période correspond toujours à un dimanche</span>
        </div>
        <span class="form-warning">La création d'une période peut prendre un certain temps.<br>Patientez, vous serez par la suite rediriger vers la liste des périodes</span>
        <input type="button" value="Créer une nouvelle période" style='float: right;' class='button' onclick='showDialog(); return false;'>
        <?php
        echo $this->form()->closeTag();
        ?>
        <div id='periode-add-action'></div>
    </div>
</div>
<script type='text/javascript'>
    $('.form').submit(function(){
        showDialog();
        return false;
    });
    function showDialog()
    {
        var generateUrl = "<?php echo $this->url('GRH/default', array('controller' => 'periode', 'action' => 'generate')); ?>";
        var formData = $("#periode").serialize();
        var ajax = $.ajax({
            type: 'post',
            url : generateUrl,
            data: formData
        });
        ajax.success(function(data){
            $("#periode-add-action").dialog({
                dialogClass: "no-close",
                closeOnEscape: false,
                width: 256,
                height: 200,
                modal: true,
                title: "Génération de la période",
                autoOpen: true,
                show: {effect : 'fade', duration : 1000},
                hide: {effect : 'fade', duration : 700}
            });
            $("#periode-add-action").html(data);
        });
        ajax.error(function(){
            alert('Erreur de chargement');
        });
        return false;
    }
</script>